package cn.xyinping.pay.controller;

import cn.xyinping.basic.exception.MyException;
import cn.xyinping.basic.util.AjaxResult;
import cn.xyinping.pay.dto.AlipayDto;
import cn.xyinping.pay.service.IPayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author 27266
 * @desrciption 支付接口
 * @date 2021/11/8
 */
@RestController
@RequestMapping("/pay")
public class PayController {
    @Autowired
    private IPayService payService;
    // 支付请求   orderNo账单编号
    // Post请求可以走地址栏，也可以走请求体  Get请求只能走地址栏
    @PostMapping("/applyPay/{orderNo}")
    public AjaxResult applyPay(@PathVariable("orderNo")String orderNo){
        try {
            //请求支付申请 , 这个结果是一个HTML代码
            String htmlResult = payService.applyPay(orderNo);
            return AjaxResult.me().setResultObj(htmlResult);
        }catch (MyException e){
            return AjaxResult.me().setMessage(e.getMessage());
        }catch (Exception e){
            return AjaxResult.me().setMessage("系统异常");
        }
    }
    // 异步支付请求
    @RequestMapping("/notify")
    public String alipayNotify(AlipayDto dto){
        return payService.alipayNotify(dto);
    }
}
